strongly typed programming language